package cn.sfrog.project.biz.web.vo.order;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 服务订单对象 biz_service_order
 */
@Data
@ApiModel(description = "服务订单返回VO")
public class AppServiceOrderVO{

    @ApiModelProperty("id")
    private Long id;


    @ApiModelProperty("服务订单编号")
    private String serviceOrderSn;


    @ApiModelProperty("订单类型【1=用户订单 2=客服代下单】")
    private String type;


    @ApiModelProperty("下单用户id")
    private Long userId;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty("预约时间")
    private Date appointmentDate;


    @ApiModelProperty("预约医院id")
    private Long hospitalId;


    @ApiModelProperty("联系人手机号")
    private String contactPhone;


    @ApiModelProperty("联系人姓名")
    private String contactName;


    @ApiModelProperty("特殊需求")
    private String specialNeeds;


    @ApiModelProperty("购买的类型【1=服务 2=套餐】")
    private String buyType;


    @ApiModelProperty("商品id")
    private Long productId;


    @ApiModelProperty("购买数量")
    private Integer num;


    @ApiModelProperty("订单金额【陪护豆】")
    private BigDecimal amount;


    @ApiModelProperty("接单用户预计收入陪护豆")
    private BigDecimal expectIncomeAmount;


    @ApiModelProperty("订单状态【1=待服务 2=待支付 3=待接单 4=服务中 5=已完成 6=已取消】")
    private String orderStatus;


    @ApiModelProperty("派单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchTime;


    @ApiModelProperty("完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;


    @ApiModelProperty("取消时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    @ApiModelProperty("支付到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentExpireTime;

    @ApiModelProperty("接单到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date acceptExpireTime;


    @ApiModelProperty("评价状态【0=未评价 1=已评价】")
    private String evaluationStatus;

    @ApiModelProperty("投诉状态【0=未投诉 1=投诉了】")
    private String complaintStatus;

    @ApiModelProperty("接单人id")
    private Long acceptUserId;

    @ApiModelProperty("派单类型【10=客户派单 20=陪诊派单 30=护工派单 40=医生派单】")
    private String dispatchType;

    @ApiModelProperty("下单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    @ApiModelProperty("服务或套餐名称")
    private String serviceName;

    @ApiModelProperty("服务或套餐图片")
    private String serviceImage;

    @ApiModelProperty("服务或套餐价格")
    private BigDecimal servicePrice;

    @ApiModelProperty("医院名称")
    private String hospitalName;

    @ApiModelProperty("省")
    private String province;

    @ApiModelProperty("市")
    private String city;

    @ApiModelProperty("区")
    private String distinct;

    @ApiModelProperty("详细地址")
    private String address;

    @ApiModelProperty("经度")
    private String longitude;

    @ApiModelProperty("纬度")
    private String latitude;

    @ApiModelProperty("服务类型")
    private String serviceTypeName;

    @ApiModelProperty("资料上传列表")
    private List<AppOrderDataUploadResultVO> dataUploadList;

    @ApiModelProperty("身份证号码")
    private String idCardNumber;

    @ApiModelProperty("接单人昵称")
    private String acceptUserName;

    @ApiModelProperty("接单人头像")
    private String acceptUserAvatar;


    @ApiModelProperty("接单人昵称")
    private String userName;

    @ApiModelProperty("接单人头像")
    private String userAvatar;

    @ApiModelProperty("代取药，药品类型 1是处方0是非处方")
    private String drugType;

    @ApiModelProperty("挂号类型，专家号1普通号2")
    private String registrationType;

    @ApiModelProperty("目的地,送到客户手中的目的地")
    private String userAddress;

    @ApiModelProperty("医院下面二级分类")
    private String departmentId;

    @ApiModelProperty("下单医院医生的id")
    private String doctorId;

}
